package chixing.day13.class32;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        // 1. 添加5个任意字符串
        list.add("file");
        list.add("public");
        list.add("file");
        list.add("static");
        list.add("private");
        System.out.println(list);
        // 2.  添加"help" 在第二个位置上
        list.add(1,"help");
        // 3. 获得集合list 中元素的个数
        list.size();
        // 4. 循环遍历输出list中元素的值
        for(int i=0;i<list.size(); i++){
            System.out.println(list.get(i));
        }

        // 5. 判断集合中 是否包含 "code" 元素
        boolean contains = list.contains("code");
        // 6. 获得第3个位置上的元素
        String s = list.get(2);

        // 7. 获得倒数第2个位置上的元素
        String s1 = list.get(list.size() - 2);
        System.out.println(list);
        // 8. 字符串"code" 第一次出现的下标是什么
        int index = list.indexOf("code"); // -1
        int index2 = list.indexOf("file"); // 0


        // 9. 删除“help” 这个元素
        boolean r1 = list.remove("help");
        // 10. 删除 第二个位置上的元素
        String r2 = list.remove(1);


        // 11. 将第一个位置上的元素 替换成是 "view"
        list.set(0,"view");

        //  [迭代器 Iterator ]循环遍历输出list中元素的值
        System.out.println("-------Iterator遍历输出list中元素的值-------------");

        Iterator<String> it   = list.iterator();
        while(it.hasNext()){
            String ele = it.next();// next() 指针下移一次
            System.out.println(ele);
        }
        System.out.println("foreach(本质还是Iterator 迭代器) : 以上 Iterator 迭代器的语法的简化");
        // foreach(本质还是Iterator 迭代器) : 以上 Iterator 迭代器的语法的简化
        for(String ele: list){
            System.out.println(ele);
        }

        System.out.println("----------stream-------------");
        //stream
        list.stream().forEach(System.out::println);

    }
}


